
"""
列表的 插入 查找 删除 连接操作
"""

# 列表的插入
# 使用 append 往列表末尾新增一个元素
a = [1, 2, 3, 4, 5]
a.append(6)
a.append('hello')
print(a)

# insert 方法往列表任意位置插入
a = [1, 2, 3, 4, 5]
a.insert(1, 'hello')
a.insert(3, 'world')
# 当插入的下标的绝对值 大于等于列表长度时, 插入在列表 末尾或开头
a.insert(len(a), 'world')
a.insert(-len(a), '你好')
print(a)
print("-------------------------------------")


# 列表的查找
# 1. 使用 in
a = [1, 2, 3, 4, 5]
print(1 in a)  # True
print(1 not in a)  # False, not ---> !true
print(10 in a)  # False
print(10 not in a)  # True

# 2. 使用 index 方法来判定当前元素在列表中的位置, 再得到一个下标
a = [1, 2, 3, 4, 5]
print(a.index(4))  # 3
# print(a.index(60))  # 抛异常
print("-------------------------------------")


# 列表的删除操作
# 1. pop 方法, 删除列表最后一个元素
a = [1, 2, 3, 4, 5]
a.pop()
print(a)
a.pop()
print(a)

# 2. pop 方法, 删除指定下标的元素
a = [1, 2, 3, 4, 5, 6, 7]
a.pop(1)
print(a)
a.pop(2)
print(a)

# remove 方法, 可以按照值来进行删除
a = ['aa', 'bb', 'cc', 'dd', 'ee']
a.remove('aa')
a.remove('dd')
# a.remove(1)  # 删除的值不存在, 抛异常
print(a)
print("-------------------------------------")


# 列表的连接.
# 1. 使用 + 针对两个列表拼接 ---> 生成一个新的列表, 旧的列表不受影响
a = [1, 2, 3, 4, 5, 6, 7]
b = ['aa', 'bb', 'cc', 'dd', 'ee']
print(a + b)
print(b + a)
print(a)
print(b)
print()

# 2. 使用 extend 来进行拼接.
#     这是将后一个列表的内容拼接到前一个列表里头.
a = [1, 2, 3, 4, 5, 6, 7]
b = ['aa', 'bb', 'cc', 'dd', 'ee']
a.extend(b)
print(a)  # 列表a改变了.
print(b)  # 列表b不受影响.
print()


# 3. 使用 += 来进行拼接
a = [1, 2, 3, 4, 5, 6, 7]
b = ['aa', 'bb', 'cc', 'dd', 'ee']
a += b
print(a)  # 列表a改变了.
print(b)  # 列表b不受影响.
print()


